package 程序员面试金典;

import java.util.Arrays;

public class 最小差绝对值 {

    public int smallestDifference(int[] a, int[] b) {
        Arrays.sort(a);
        Arrays.sort(b);
        int num=Integer.MAX_VALUE;
        int i=0,j=0;
        while (i<a.length && j<b.length){
            long buff = a[i] - b[j];
            num =(int)Math.min(num,Math.abs(buff));
            if (buff<0)
                i++;
            else
                j++;
        }
        return num;
    }
    //超时
//    public int smallestDifference(int[] a, int[] b) {
//        int num=Integer.MAX_VALUE;
//        for (int i = 0; i < a.length; i++) {
//            for (int j = 0; j < b.length; j++) {
//                int abs = Math.abs(a[i] - b[j]);
//                abs=abs<0?Integer.MAX_VALUE:abs;
//                num=Math.min(num,abs);
//            }
//        }
//        return num;
//    }
}
